package com.liveneo.adapter.webservice.server.claim.model;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import com.aliyun.oss.model.WebServiceRequest;
import com.liveneo.adapter.mobile.model.dto.VsRequestHeadDto;
import com.liveneo.adapter.webservice.server.claim.CaseInfo;
import com.liveneo.adapter.webservice.server.claim.model.dto.ConfirmEvaluateDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.DelegateRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.EvaluateInfoRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.EvaluateOpinionRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.GgBanklocationsDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.ImageInfoRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.OcrSurvey;
import com.liveneo.adapter.webservice.server.claim.model.dto.ReassignRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.SetNormalRegisterRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.SurveyDelegateRequestDto;
import com.liveneo.adapter.webservice.server.claim.model.dto.SurveyReassignRequestDto;

/**
 * <p>claim2VsRequest complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="claim2VsRequest"&gt;
 *   &lt;complexContent&gt;
 *     &lt;extension base="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}webServiceRequest"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="caseinfo" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}caseInfo" minOccurs="0"/&gt;
 *         &lt;element name="confirmEvaluateDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}confirmEvaluateDto" minOccurs="0"/&gt;
 *         &lt;element name="doWithDelegateInfoRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}delegateRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="doWithEvaluateDocInfoRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}evaluateInfoRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="evaluateOpinionRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}evaluateOpinionRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="ggBanklocationsDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}ggBanklocationsDto" minOccurs="0"/&gt;
 *         &lt;element name="imageInfoRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}imageInfoRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="ocrSurvey" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}ocrSurvey" minOccurs="0"/&gt;
 *         &lt;element name="reassignDelegateInfoRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}reassignRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="setNormalRegisterRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}setNormalRegisterRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="surveyDelegateRequestDtos" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}surveyDelegateRequestDto" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="surveyReassignRequestDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}surveyReassignRequestDto" minOccurs="0"/&gt;
 *         &lt;element name="vsRequestHeadDto" type="{http://vsInterFacade.videoSurvey.provider.webservice.interact.application.sinosoft.com/}vsRequestHeadDto" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/extension&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "claim2VsRequest", propOrder = { "caseinfo", "confirmEvaluateDto", "doWithDelegateInfoRequestDto", "doWithEvaluateDocInfoRequestDto",
        "evaluateOpinionRequestDto", "ggBanklocationsDto", "imageInfoRequestDto", "ocrSurvey", "reassignDelegateInfoRequestDto", "setNormalRegisterRequestDto",
        "surveyDelegateRequestDtos", "surveyReassignRequestDto", "vsRequestHeadDto" })
public class Claim2VsRequest extends WebServiceRequest {
    protected CaseInfo                       caseinfo;
    protected ConfirmEvaluateDto             confirmEvaluateDto;
    protected DelegateRequestDto             doWithDelegateInfoRequestDto;
    protected EvaluateInfoRequestDto         doWithEvaluateDocInfoRequestDto;
    protected EvaluateOpinionRequestDto      evaluateOpinionRequestDto;
    protected GgBanklocationsDto             ggBanklocationsDto;
    protected ImageInfoRequestDto            imageInfoRequestDto;
    protected OcrSurvey                      ocrSurvey;
    protected ReassignRequestDto             reassignDelegateInfoRequestDto;
    protected SetNormalRegisterRequestDto    setNormalRegisterRequestDto;
    @XmlElement(nillable = true)
    protected List<SurveyDelegateRequestDto> surveyDelegateRequestDtos;
    protected SurveyReassignRequestDto       surveyReassignRequestDto;
    protected VsRequestHeadDto               vsRequestHeadDto;

    /**
     * 获取caseinfo属性的值。
     * 
     * @return
     *     possible object is
     *     {@link CaseInfo }
     *     
     */
    public CaseInfo getCaseinfo() {
        return caseinfo;
    }

    /**
     * 设置caseinfo属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link CaseInfo }
     *     
     */
    public void setCaseinfo(CaseInfo value) {
        this.caseinfo = value;
    }

    /**
     * 获取confirmEvaluateDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ConfirmEvaluateDto }
     *     
     */
    public ConfirmEvaluateDto getConfirmEvaluateDto() {
        return confirmEvaluateDto;
    }

    /**
     * 设置confirmEvaluateDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ConfirmEvaluateDto }
     *     
     */
    public void setConfirmEvaluateDto(ConfirmEvaluateDto value) {
        this.confirmEvaluateDto = value;
    }

    /**
     * 获取doWithDelegateInfoRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link DelegateRequestDto }
     *     
     */
    public DelegateRequestDto getDoWithDelegateInfoRequestDto() {
        return doWithDelegateInfoRequestDto;
    }

    /**
     * 设置doWithDelegateInfoRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link DelegateRequestDto }
     *     
     */
    public void setDoWithDelegateInfoRequestDto(DelegateRequestDto value) {
        this.doWithDelegateInfoRequestDto = value;
    }

    /**
     * 获取doWithEvaluateDocInfoRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link EvaluateInfoRequestDto }
     *     
     */
    public EvaluateInfoRequestDto getDoWithEvaluateDocInfoRequestDto() {
        return doWithEvaluateDocInfoRequestDto;
    }

    /**
     * 设置doWithEvaluateDocInfoRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link EvaluateInfoRequestDto }
     *     
     */
    public void setDoWithEvaluateDocInfoRequestDto(EvaluateInfoRequestDto value) {
        this.doWithEvaluateDocInfoRequestDto = value;
    }

    /**
     * 获取evaluateOpinionRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link EvaluateOpinionRequestDto }
     *     
     */
    public EvaluateOpinionRequestDto getEvaluateOpinionRequestDto() {
        return evaluateOpinionRequestDto;
    }

    /**
     * 设置evaluateOpinionRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link EvaluateOpinionRequestDto }
     *     
     */
    public void setEvaluateOpinionRequestDto(EvaluateOpinionRequestDto value) {
        this.evaluateOpinionRequestDto = value;
    }

    /**
     * 获取imageInfoRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ImageInfoRequestDto }
     *     
     */
    public ImageInfoRequestDto getImageInfoRequestDto() {
        return imageInfoRequestDto;
    }

    /**
     * 设置imageInfoRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ImageInfoRequestDto }
     *     
     */
    public void setImageInfoRequestDto(ImageInfoRequestDto value) {
        this.imageInfoRequestDto = value;
    }

    /**
     * 获取ocrSurvey属性的值。
     * 
     * @return
     *     possible object is
     *     {@link OcrSurvey }
     *     
     */
    public OcrSurvey getOcrSurvey() {
        return ocrSurvey;
    }

    /**
     * 设置ocrSurvey属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link OcrSurvey }
     *     
     */
    public void setOcrSurvey(OcrSurvey value) {
        this.ocrSurvey = value;
    }

    /**
     * 获取reassignDelegateInfoRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ReassignRequestDto }
     *     
     */
    public ReassignRequestDto getReassignDelegateInfoRequestDto() {
        return reassignDelegateInfoRequestDto;
    }

    /**
     * 设置reassignDelegateInfoRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ReassignRequestDto }
     *     
     */
    public void setReassignDelegateInfoRequestDto(ReassignRequestDto value) {
        this.reassignDelegateInfoRequestDto = value;
    }

    /**
     * 获取setNormalRegisterRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SetNormalRegisterRequestDto }
     *     
     */
    public SetNormalRegisterRequestDto getSetNormalRegisterRequestDto() {
        return setNormalRegisterRequestDto;
    }

    /**
     * 设置setNormalRegisterRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SetNormalRegisterRequestDto }
     *     
     */
    public void setSetNormalRegisterRequestDto(SetNormalRegisterRequestDto value) {
        this.setNormalRegisterRequestDto = value;
    }

    /**
     * Gets the value of the surveyDelegateRequestDtos property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the surveyDelegateRequestDtos property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSurveyDelegateRequestDtos().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link SurveyDelegateRequestDto }
     * 
     * 
     */
    public List<SurveyDelegateRequestDto> getSurveyDelegateRequestDtos() {
        if (surveyDelegateRequestDtos == null) {
            surveyDelegateRequestDtos = new ArrayList<SurveyDelegateRequestDto>();
        }
        return this.surveyDelegateRequestDtos;
    }

    /**
     * 获取surveyReassignRequestDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link SurveyReassignRequestDto }
     *     
     */
    public SurveyReassignRequestDto getSurveyReassignRequestDto() {
        return surveyReassignRequestDto;
    }

    /**
     * 设置surveyReassignRequestDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link SurveyReassignRequestDto }
     *     
     */
    public void setSurveyReassignRequestDto(SurveyReassignRequestDto value) {
        this.surveyReassignRequestDto = value;
    }

    /**
     * 获取vsRequestHeadDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link VsRequestHeadDto }
     *     
     */
    public VsRequestHeadDto getVsRequestHeadDto() {
        return vsRequestHeadDto;
    }

    /**
     * 设置vsRequestHeadDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link VsRequestHeadDto }
     *     
     */
    public void setVsRequestHeadDto(VsRequestHeadDto value) {
        this.vsRequestHeadDto = value;
    }

    /**
     * 获取ggBanklocationsDto属性的值。
     * 
     * @return
     *     possible object is
     *     {@link GgBanklocationsDto }
     *     
     */
    public GgBanklocationsDto getGgBanklocationsDto() {
        return ggBanklocationsDto;
    }

    /**
     * 设置ggBanklocationsDto属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link GgBanklocationsDto }
     *     
     */
    public void setGgBanklocationsDto(GgBanklocationsDto value) {
        this.ggBanklocationsDto = value;
    }
}
